module.exports = class extends think.Service {
  /**
   * 注册HOOK点
   * @return {[type]} [description]
   */
  registerHook() {
    return {
      // 'comment': ['commentCreate', 'commentUpdate', 'commentDelete'],
      // 'content': ['contentCreate', 'contentUpdate', 'contentDelete'],
      'config': ['configCreate', 'configUpdate', 'configDelete'],
      'auth': ['authRuleCreate', 'authRuleUpdate', 'authRuleDelete']
    };
  }

  /**
   * 更新留言缓存
   * @param  {[type]} data [description]
   * @return {[type]}      [description]
   */
  // async comment(data) {
  //   await think.cache('recent_comment', null);
  // }
  //
  /**
   * 更新内容缓存
   * @param  {[type]} data [description]
   * @return {[type]}      [description]
   */
  // async content(data) {
  //   await think.cache('recent_content', null);
  // }

  /**
   *
   * @param {[Object]} data
   */
  async auth(data) {
    // 授权规则变更，清除缓存
    think.cache('auth_rule', null);
    await think.auth.updateAuthRules();// 新规则立即生效
    // think.logger.debug('访问规则更改');
  }

  /**
   *
   * @param {[Object]} data
   */
  async config(data) {
    // 配置变更，清除缓存
    await think.cache('config', null);
  }
};
